Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Speeding up trailing zero (iterators) #18

Merged
merged 1 commit into from
Feb 14, 2014
Merged

Speeding up trailing zero (iterators) #18

merged 1 commit into from
Feb 14, 2014

Conversation

lemire
Copy link
Member

@lemire lemire commented Feb 14, 2014

This slightly improves the performance of the iterators through set bits. I think it will be hard to do better in pure Go. :-(

willf added a commit that referenced this pull request Feb 14, 2014
Speeding up trailing zero (iterators)
@willf willf merged commit 96fb4fe into bits-and-blooms:master Feb 14, 2014
@willf
Copy link
Collaborator

willf commented Feb 14, 2014

Cool.

@lemire
Copy link
Member Author

lemire commented Feb 14, 2014

I expect I'll stop there since I am all out of ideas. ;-)

One thing you could do is to produce a version release:

git tag -a v0.1.0 -m 'version 0.1.0'
git push --tags

(If anyone wants to use this in production, they'll want to use a specific release and not just random code lifted from github.)

This will populate the "release" tab on your project.

You could also add a CHANGELOG file to track changes from now on.

Cheers!

@willf
Copy link
Collaborator

willf commented Feb 14, 2014

Good idea.

The build breaks on my machine, because of the C parts. I have to
investigate further. I'd like to fix this before tagging.

Will

On Fri, Feb 14, 2014 at 2:21 PM, Daniel Lemire [email protected]:

I expect I'll stop there since I am all out of ideas. ;-)

One thing you could do is to produce a version release:

git tag -a v0.1.0 -m 'version 0.1.0'
git push --tags

(If anyone wants to use this in production, they'll want to use a specific
release and not just random code lifted from github.)

This will populate the "release" tab on your project.

You could also add a CHANGELOG file to track changes from now on.

Cheers!


Reply to this email directly or view it on GitHubhttps://github.com//pull/18#issuecomment-35115599
.

Will

@willf
Copy link
Collaborator

willf commented Feb 14, 2014

In particular, is it worth the 3 microseconds improvement to have a C
version? A serious question.

On Fri, Feb 14, 2014 at 3:12 PM, Will Fitzgerald
[email protected]:

Good idea.

The build breaks on my machine, because of the C parts. I have to
investigate further. I'd like to fix this before tagging.

Will

On Fri, Feb 14, 2014 at 2:21 PM, Daniel Lemire [email protected]:

I expect I'll stop there since I am all out of ideas. ;-)

One thing you could do is to produce a version release:

git tag -a v0.1.0 -m 'version 0.1.0'
git push --tags

(If anyone wants to use this in production, they'll want to use a
specific release and not just random code lifted from github.)

This will populate the "release" tab on your project.

You could also add a CHANGELOG file to track changes from now on.

Cheers!


Reply to this email directly or view it on GitHubhttps://github.com//pull/18#issuecomment-35115599
.

Will

Will

@lemire
Copy link
Member Author

lemire commented Feb 14, 2014

Indeed. A good question. In some other tests I did, there was a more substantial difference (say 50%), but I agree that the gain is small.

@lemire
Copy link
Member Author

lemire commented Feb 14, 2014

But I would still be interested in knowing what breaks. Is it because cgo is not supported on your machine?

@lemire
Copy link
Member Author

lemire commented Feb 14, 2014

To be clearer, feel free to discard the C code. Now that I have written a blog post about it... my job is done. ;-)

@willf
Copy link
Collaborator

willf commented Feb 14, 2014

This is the error:

clang: error: no such file or directory: libgcc.a

I'm sure it's my env. that's messed up. Of course, adding c increases the
complexity.

Will

On Fri, Feb 14, 2014 at 3:21 PM, Daniel Lemire [email protected]:

To be clearer, feel free to discard the C code. Now that I have written a
blog post about it... my job is done. ;-)


Reply to this email directly or view it on GitHubhttps://github.com//pull/18#issuecomment-35120952
.

Will

@lemire
Copy link
Member Author

lemire commented Feb 14, 2014

Sure, as I said, discard the C code. (I made it easy to do...) It will remain in the logs of the project if it is ever necessary to bring it back.

@lemire
Copy link
Member Author

lemire commented Feb 14, 2014

I totally agree that you want to minimize complexity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants